python

您所在的位置:网站首页 python 切片 python

python

#python| 来源: 网络整理| 查看: 265

1.Python 3.x的range()函数返回一个:可迭代的序列对象

注意: Python 3.x的range()函数返回一个可迭代的序列对象,其中包含指定范围内的整数。range()函数的语法如下:

range([start], stop[, step])

其中,start表示序列的起始值(默认为0),stop表示序列的结束值(不包含该值),step表示序列中相邻两个值之间的差值(默认为1)。

例如,range(5)将返回包含整数0、1、2、3、4的可迭代对象,而range(2, 8, 2)将返回包含整数2、4、6的可迭代对象。

2.表达式“[3] in [1,2,3,4]”的值为:True

注意: 这是因为“[3]”是一个包含数字3的列表,而“[1,2,3,4]”也是一个列表,其中包含数字3。因此,表达式“[3] in [1,2,3,4]”返回True。

3.列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为:

注意:

列表对象的sort()方法用来对列表元素进行原地排序(也就是直接修改原列表对象,不返回新的列表对象),它不会返回任何值(即返回值为None)。

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] numbers.sort() print(numbers) # numbers列表将会被原地排序,并且sort()方法不会返回任何值。 # 如果我们再次打印numbers列表,将会看到它已经被排序了

4.列表对象的 remove() 方法删除首次出现的指定元素,如果列表中不存在要删除的元素,则抛出异常。

注意: 列表对象可以使用remove()方法来删除首次出现的指定元素。该方法会修改原列表并返回None。

如果列表中不存在要删除的元素,则会抛出ValueError异常。

my_list = [1, 2, 3, 4, 2] my_list.remove(2) print(my_list) # my_list.remove(5) # print(my_list)

5.假设列表对象aList的值为[3,4,5,6,7,8,9,11,13,15,17],那么切片aList[3:7]得到的值是

注意: 切片 aList[3:7] 表示取出 aList 列表中索引从 3(包含)到 7(不包含)的元素,即 [6, 7, 8, 9]。

所以,aList[3:7] 得到的值是 [6, 7, 8, 9]。

6.在Python中,字典和集合都是用一对 花括号‘{}’ 作为界定符,字典的每个元素由两部分组成,即 键(key) 和 值(value) ,其中 键 不允许重复。

注意: 在Python中,字典和集合确实都是用一对花括号 {} 作为界定符。

但是,字典和集合的元素是有区别的:

字典的每个元素由两部分组成,即键(key)和值(value),用冒号 : 分隔开来。

键必须是唯一的,值则可以重复。

集合的每个元素都是唯一的,不允许重复,因此集合中只有一个部分,即元素本身。

# 创建一个字典 my_dict = {'name': 'Alice', 'age': 20, 'score': 90} # 访问字典中的元素 print(my_dict['name']) # 输出 'Alice' print(my_dict['score']) # 输出 90 print(my_dict['age']) # 输出 20 # 修改字典中的元素 my_dict['score'] = 95 print(my_dict['score']) # 输出 95 my_dict['age'] = 95 print(my_dict['age']) # 输出 95 # 创建一个集合 my_set = {1, 2, 3, 4, 5} # 访问集合中的元素 print(1 in my_set) # 输出 True print(6 in my_set) # 输出 False # 向集合中添加元素 my_set.add(6) print(my_set) # 输出 {1, 2, 3, 4, 5, 6} # 从集合中删除元素 my_set.remove(6) print(my_set) # 输出 {1, 2, 3, 4, 5}

7.使用字典对象的 items() 方法可以返回字典的“键:值”对,使用字典对象的 keys() 方法可以返回字典的“键”,使用字典对象的 values() 方法可以返回字典的“值”。

注意: 字典对象的 items() 方法可以返回字典的“键:值”对,返回的是一个可迭代对象,其中每个元素都是一个元组,第一个元素是字典的键,第二个元素是对应的值。

my_dict = {'a': 1, 'b': 2, 'c': 3} for key, value in my_dict.items(): print(key, value)

字典对象的 keys() 方法可以返回字典的“键”,返回的是一个可迭代对象,其中每个元素都是字典的键。

my_dict = {'a': 1, 'b': 2, 'c': 3} for key in my_dict.keys(): print(key)

字典对象的 values() 方法可以返回字典的“值”,返回的是一个可迭代对象,其中每个元素都是字典的值。

my_dict = {'a': 1, 'b': 2, 'c': 3} for value in my_dict.values(): print(value)

8.假设有列表a=[‘name’,‘age’,‘sex’]和b=[‘Dong’,38,‘Male’],使用一条语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为:my_dict = dict(zip(a, b))。

注意: my_dict = dict(zip(a, b))

其中,zip(a, b) 函数将列表 a 和 b 中的元素逐个配对,返回一个可迭代对象,每个元素都是一个元组,元组中的第 i 个元素来自于 a 和 b 中的第 i 个位置,然后 dict() 函数将这个可迭代对象转换为一个字典。因为列表 a 中的元素是字典的键,而列表 b 中的元素是对应的值,所以最终得到的字典中,每个键的值就是列表 b 中对应位置的元素。

a = ['name', 'age', 'sex'] b = ['Dong', 38, 'Male'] my_dict = dict(zip(a, b)) print(my_dict)

9.假设有一个列表a,现要求从列表a中每3个元素取1个,并且将取到的元素组成新的列表b,可以使用语句 b = a[::3]。

注意:

可以使用切片和步长来实现从列表 a 中每 3 个元素取 1 个,并将取到的元素组成新的列表 b

b = a[::3]

其中,a[::3] 表示从列表 a 中以步长为 3 取出元素,即取出下标为 0、3、6、9……的元素,然后将这些元素组成新的列表 b。

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] b = a[::3] print(b)

10.使用列表推导式生成包含10个数字5的列表,语句可以写为 。

注意:

my_list = [5 for i in range(10)]

11.不可以使用del命令来删除元组中的部分元素。

注意: 不可以使用 del 命令来删除元组中的部分元素,因为元组是不可变的数据类型,其内部的元素不可被修改或删除。一旦元组被创建,其中的元素就不能再被更改。如果需要删除元组中的部分元素,唯一的方法是创建一个新的元组,包含不需要删除的元素,从而达到删除部分元素的目的。

15.编写程序,生成包含1000个0到100的随机整数,并且统计每个元素的出现次数。

import random # 生成随机整数 numbers = [random.randint(0, 100) for i in range(1000)] # 统计每个元素的出现次数 counts = {} for number in numbers: if number in counts: counts[number] += 1 else: counts[number] = 1 # 输出结果 for number, count in counts.items(): print(f"{number}: {count}")

注意: 这个程序首先使用了Python内置的random模块生成了1000个0到100的随机整数。接着,使用一个字典count来记录每个元素的出现次数,循环遍历随机整数列表,如果当前元素已经在字典中,则将其出现次数加1,否则将其加入字典,并将出现次数初始化为1。最后,遍历字典并输出每个元素的出现次数。

16.编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标闭区间之间的元素组成的子列表。例如用户输入[1,2,3,4,5,6]和2,5,程序输出[3,4,5,6]。

lst = input("请输入列表,元素之间用逗号隔开:") lst = lst.split(",") # 将输入的字符串转换为列表 lst = [int(x) for x in lst] # 将列表中的元素转换为整数 start = int(input("请输入下标起始位置:")) end = int(input("请输入下标结束位置:")) sub_lst = lst[start:end+1] # 列表切片操作 print(sub_lst)

注意: 首先,程序让用户输入一个列表,元素之间用逗号隔开。然后,将输入的字符串转换为列表,并将列表中的元素转换为整数。

接下来,程序要求用户输入下标的起始位置和结束位置。注意,这里的结束位置需要加1,以满足Python中的列表切片操作的要求。

最后,程序使用列表切片操作获取列表中介于2个下标闭区间之间的元素,并输出结果。

编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。 import random # 生成包含20个随机数的列表 numbers = [random.randint(1, 100) for _ in range(20)] # 将前10个元素升序排列 first_half = sorted(numbers[:10]) # 将后10个元素降序排列 second_half = sorted(numbers[10:], reverse=True) # 将两个列表合并 result = first_half + second_half # 输出结果 print(result)

注意: 这个程序首先使用了Python内置的random模块生成了包含20个随机数的列表。接着,使用列表切片将前10个元素和后10个元素分别取出,并对它们进行升序排列和降序排列,最后将它们重新组合成一个新的列表。最后,输出排好序的列表。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3